package com.zjut.an.util.page;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**PageNumber为页码显示类
 * 此类用于帮助打印“页次:第0/0页 共0条 首页、上一页、下一页、末页”的翻页栏。
 * 因为翻页栏每个列表页均需要，但同时又有复杂的计算和导航链接，因此使用该帮助类可以大大的减少页面代码，提高代码的重用。
 * @author xujun
 */
public class PageNumber
{
	/**声明一个log对象*/
	private static Log log =LogFactory.getLog(PageNumber.class.getName());
	
	
	/**帮助打印“页次:第0/0页 共0条 首页、上一页、下一页、末页”的翻页栏
	 * @param pageNo 当前页码
	 * @param pageSize 每页显示的条数
	 * @param dataCount 总的记录数
	 * @param url 跳转界面URL
	 * @return StringBuffer类型的翻页栏
	 * @exception exceptions no exception return
	 */
	public static String printPageNumber(int pageNo,int pageSize,int dataCount,String url)
	{
		//声明string类型翻页栏
		String paginationColumn ="";
		
		//根据“dataCount”总记录数和“pageSize”每页显示的条数，求得“sumPageNumber”总页数
		int sumPageNumber=0;
		if (dataCount % pageSize == 0) {
			sumPageNumber = dataCount / pageSize;
		} else {
			sumPageNumber = dataCount / pageSize + 1;
		}
		
		//Pagination为分页类，封装了分页常用的操作
		Pagination pagination = new Pagination();
		pagination.setPageNumber(pageNo);
		pagination.setShowItemNumber(pageSize);
		pagination.setSumItemNumber(dataCount);
		pagination.setSumPageNumber(sumPageNumber);		
		pagination.setVisitPageURL(url);
		
		//由Pagination对象取得翻页栏
		paginationColumn = pagination.buildHTML("550");
		return paginationColumn;
	}
	
	/**帮助打印上一页、下一页的翻页栏
	 * @param pageNo 当前页码
	 * @param pageSize 每页显示的条数
	 * @param dataCount 总的记录数
	 * @param url 跳转界面URL
	 * @return StringBuffer类型的翻页栏
	 * @exception exceptions no exception return
	 */
	public static String printPageNumberSimple(int pageNo,int pageSize,int dataCount,String url)
	{
		//声明string类型翻页栏
		String paginationColumn ="";
		
		//根据“dataCount”总记录数和“pageSize”每页显示的条数，求得“sumPageNumber”总页数
		int sumPageNumber=0;
		if (dataCount % pageSize == 0) {
			sumPageNumber = dataCount / pageSize;
		} else {
			sumPageNumber = dataCount / pageSize + 1;
		}
		
		//Pagination为分页类，封装了分页常用的操作
		Pagination pagination = new Pagination();
		pagination.setPageNumber(pageNo);
		pagination.setShowItemNumber(pageSize);
		pagination.setSumItemNumber(dataCount);
		pagination.setSumPageNumber(sumPageNumber);		
		pagination.setVisitPageURL(url);
		
		//由Pagination对象取得翻页栏
		paginationColumn = pagination.buildHTMLSimple("550");
		return paginationColumn;
	}
}
